
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module gummworld2.gameclock</title>
</head><body bgcolor="#f0f0f8">

<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="gummworld2.html"><font color="#ffffff">gummworld2</font></a>.gameclock</strong></big></big> (version $Id: gameclock.py 294 2011-05-12 03:55:32Z stabbingfinger@gmail.com $)</font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:///C:/cygwin/home/bw/devel/python/svn/gummworld2/gamelib/gummworld2/gameclock.py">c:\cygwin\home\bw\devel\python\svn\gummworld2\gamelib\gummworld2\gameclock.py</a></font></td></tr></table>
    <p><tt>#&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;Gummworld2.<br>
#<br>
#&nbsp;Gummworld2&nbsp;is&nbsp;free&nbsp;software:&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify&nbsp;it<br>
#&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;Lesser&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published<br>
#&nbsp;by&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;either&nbsp;version&nbsp;3&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
#&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
#<br>
#&nbsp;Gummworld2&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
#&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
#&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
#&nbsp;GNU&nbsp;Lesser&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
#<br>
#&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;Lesser&nbsp;General&nbsp;Public<br>
#&nbsp;License&nbsp;along&nbsp;with&nbsp;Gummworld2.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
    
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="sys.html">sys</a><br>
</td><td width="25%" valign=top><a href="time.html">time</a><br>
</td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
    
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="__builtin__.html#object">__builtin__.object</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="gummworld2.gameclock.html#GameClock">GameClock</a>
</font></dt></dl>
</dd>
</dl>
 <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="GameClock">class <strong>GameClock</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Manage&nbsp;time&nbsp;in&nbsp;the&nbsp;following&nbsp;ways:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
1.&nbsp;Run&nbsp;game&nbsp;engine&nbsp;at&nbsp;a&nbsp;constant&nbsp;speed,&nbsp;independent&nbsp;of&nbsp;variable&nbsp;frame&nbsp;rate.<br>
2.&nbsp;Schedule&nbsp;items&nbsp;to&nbsp;coincide&nbsp;with&nbsp;<a href="#GameClock-tick">tick</a>(),&nbsp;update_ready,&nbsp;frame_ready,&nbsp;and<br>
&nbsp;&nbsp;&nbsp;elapsed&nbsp;intervals.<br>
3.&nbsp;Employ&nbsp;on-demand&nbsp;time&nbsp;dilation.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;&nbsp;&nbsp;&nbsp;ticks_per_second&nbsp;-&gt;&nbsp;Positive&nbsp;integer.&nbsp;Constant&nbsp;ticks&nbsp;per&nbsp;second&nbsp;for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;game&nbsp;physics.<br>
&nbsp;&nbsp;&nbsp;&nbsp;max_fps&nbsp;-&gt;&nbsp;Positive&nbsp;integer.&nbsp;Max&nbsp;frames&nbsp;allowed&nbsp;per&nbsp;second.&nbsp;A&nbsp;value&nbsp;of<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zero&nbsp;allows&nbsp;unlimited&nbsp;frames.<br>
&nbsp;&nbsp;&nbsp;&nbsp;use_wait&nbsp;-&gt;&nbsp;Boolean.&nbsp;When&nbsp;True,&nbsp;<a href="#GameClock">GameClock</a>.<a href="#GameClock-tick">tick</a>()&nbsp;uses&nbsp;time.sleep&nbsp;to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throttle&nbsp;frames&nbsp;per&nbsp;second.&nbsp;This&nbsp;uses&nbsp;less&nbsp;CPU&nbsp;at&nbsp;the&nbsp;postential<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cost&nbsp;of&nbsp;smoothness.&nbsp;When&nbsp;False,&nbsp;<a href="#GameClock">GameClock</a>.<a href="#GameClock-tick">tick</a>()&nbsp;returns&nbsp;without<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;injecting&nbsp;any&nbsp;waits,&nbsp;and&nbsp;can&nbsp;result&nbsp;in&nbsp;smoother&nbsp;frames.<br>
&nbsp;&nbsp;&nbsp;&nbsp;max_frame_skip&nbsp;-&gt;&nbsp;Positive&nbsp;integer.&nbsp;Max&nbsp;game&nbsp;ticks&nbsp;allowed&nbsp;before<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;forcing&nbsp;a&nbsp;frame&nbsp;display.<br>
&nbsp;&nbsp;&nbsp;&nbsp;update_callback&nbsp;-&gt;&nbsp;Callable.&nbsp;Special&nbsp;callback&nbsp;to&nbsp;invoke&nbsp;when&nbsp;update&nbsp;is<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ready.<br>
&nbsp;&nbsp;&nbsp;&nbsp;frame_callback&nbsp;-&gt;&nbsp;Callable.&nbsp;Special&nbsp;callback&nbsp;to&nbsp;invoke&nbsp;when&nbsp;frame&nbsp;is<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ready.<br>
&nbsp;&nbsp;&nbsp;&nbsp;time_source&nbsp;-&gt;&nbsp;Callable.&nbsp;Custom&nbsp;time&nbsp;source,&nbsp;e.g.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lambda:pygame.time.get_ticks()&nbsp;/&nbsp;1000.0.<br>
Properties:<br>
&nbsp;&nbsp;&nbsp;&nbsp;interpolate&nbsp;-&gt;&nbsp;Read-only.&nbsp;Float&nbsp;(range&nbsp;0&nbsp;to&nbsp;1)&nbsp;factor&nbsp;representing&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exact&nbsp;point&nbsp;in&nbsp;time&nbsp;between&nbsp;the&nbsp;previous&nbsp;and&nbsp;next&nbsp;ticks.<br>
&nbsp;&nbsp;&nbsp;&nbsp;update_ready&nbsp;-&gt;&nbsp;Read-only.&nbsp;Boolean&nbsp;indicating&nbsp;it&nbsp;is&nbsp;time&nbsp;to&nbsp;update&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;game&nbsp;logic.<br>
&nbsp;&nbsp;&nbsp;&nbsp;frame_ready&nbsp;-&gt;&nbsp;Read-only.&nbsp;Boolean&nbsp;indicating&nbsp;it&nbsp;is&nbsp;time&nbsp;to&nbsp;update&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display.<br>
&nbsp;&nbsp;&nbsp;&nbsp;dilation&nbsp;-&gt;&nbsp;Read-write.&nbsp;Set&nbsp;the&nbsp;time&nbsp;dilation&nbsp;factor.&nbsp;Normal==1.0,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Slower&gt;1.0,&nbsp;Faster&lt;1.0.&nbsp;Affects&nbsp;DT&nbsp;and&nbsp;interval&nbsp;timers.<br>
&nbsp;&nbsp;&nbsp;&nbsp;update_callback&nbsp;-&gt;&nbsp;Read-write.&nbsp;The&nbsp;callback&nbsp;function&nbsp;to&nbsp;invoke&nbsp;at&nbsp;each<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;update_ready&nbsp;interval.<br>
&nbsp;&nbsp;&nbsp;&nbsp;frame_callback&nbsp;-&gt;&nbsp;Read-write.&nbsp;The&nbsp;callback&nbsp;function&nbsp;to&nbsp;invoke&nbsp;at&nbsp;each<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frame_ready&nbsp;interval.<br>
&nbsp;&nbsp;&nbsp;&nbsp;fps,&nbsp;frame_count,&nbsp;frame_elapsed&nbsp;-&gt;&nbsp;Read-only.&nbsp;Most&nbsp;recent&nbsp;FPS,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cumulative&nbsp;frames&nbsp;posted&nbsp;during&nbsp;the&nbsp;current&nbsp;second,&nbsp;and&nbsp;time&nbsp;elapsed<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in&nbsp;the&nbsp;previous&nbsp;frame,&nbsp;respectively.<br>
&nbsp;&nbsp;&nbsp;&nbsp;ups,&nbsp;update_count,&nbsp;update_elapsed&nbsp;-&gt;&nbsp;Read-only.&nbsp;Most&nbsp;recent&nbsp;updates&nbsp;per<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;second,&nbsp;cumulative&nbsp;updates&nbsp;posted&nbsp;during&nbsp;the&nbsp;current&nbsp;second,&nbsp;and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;time&nbsp;elapsed&nbsp;in&nbsp;the&nbsp;previous&nbsp;update,&nbsp;respectively.<br>
&nbsp;&nbsp;&nbsp;&nbsp;tps&nbsp;-&gt;&nbsp;Read-only.&nbsp;Most&nbsp;recently&nbsp;measured&nbsp;<a href="#GameClock-tick">tick</a>()&nbsp;calls&nbsp;per&nbsp;second.<br>
&nbsp;&nbsp;&nbsp;&nbsp;time&nbsp;-&gt;&nbsp;Read-write.&nbsp;The&nbsp;value&nbsp;from&nbsp;the&nbsp;last&nbsp;poll&nbsp;of&nbsp;time&nbsp;source.<br>
&nbsp;&nbsp;&nbsp;&nbsp;ticks_per_second&nbsp;-&gt;&nbsp;Read-write.&nbsp;See&nbsp;parameter&nbsp;ticks_per_second.<br>
&nbsp;&nbsp;&nbsp;&nbsp;max_fps&nbsp;-&gt;&nbsp;Read-write.&nbsp;See&nbsp;parameter&nbsp;max_fps.<br>
&nbsp;&nbsp;&nbsp;&nbsp;use_wait&nbsp;-&gt;&nbsp;Read-write.&nbsp;See&nbsp;parameter&nbsp;use_wait.<br>
&nbsp;&nbsp;&nbsp;&nbsp;max_frame_skip&nbsp;-&gt;&nbsp;Read-write.&nbsp;See&nbsp;parameter&nbsp;max_frame_skip.<br>
Methods:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GameClock-tick">tick</a>()&nbsp;-&gt;&nbsp;Game&nbsp;loop&nbsp;timer.&nbsp;Call&nbsp;once&nbsp;per&nbsp;game&nbsp;loop.<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GameClock-get_time">get_time</a>()&nbsp;-&gt;&nbsp;Return&nbsp;the&nbsp;milliseconds&nbsp;elapsed&nbsp;in&nbsp;the&nbsp;previous&nbsp;call&nbsp;to&nbsp;<a href="#GameClock-tick">tick</a>().<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GameClock-get_fps">get_fps</a>()&nbsp;-&gt;&nbsp;Return&nbsp;the&nbsp;frame&nbsp;rate&nbsp;from&nbsp;the&nbsp;previous&nbsp;second.<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GameClock-get_ups">get_ups</a>()&nbsp;-&gt;&nbsp;Return&nbsp;the&nbsp;update&nbsp;rate&nbsp;from&nbsp;the&nbsp;previous&nbsp;second.<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GameClock-schedule">schedule</a>(),&nbsp;<a href="#GameClock-schedule_update">schedule_update</a>(),&nbsp;<a href="#GameClock-schedule_update_priority">schedule_update_priority</a>(),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GameClock-schedule_frame">schedule_frame</a>(),&nbsp;<a href="#GameClock-schedule_frame_priority">schedule_frame_priority</a>(),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GameClock-schedule_interval">schedule_interval</a>()&nbsp;-&gt;&nbsp;Various&nbsp;scheduling&nbsp;facilities.<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GameClock-unschedule">unschedule</a>()&nbsp;-&gt;&nbsp;Schedule&nbsp;removal.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="GameClock-__init__"><strong>__init__</strong></a>(self, ticks_per_second<font color="#909090">=25</font>, max_fps<font color="#909090">=0</font>, use_wait<font color="#909090">=True</font>, max_frame_skip<font color="#909090">=5</font>, update_callback<font color="#909090">=None</font>, frame_callback<font color="#909090">=None</font>, time_source<font color="#909090">=None</font>)</dt></dl>

<dl><dt><a name="GameClock-get_fps"><strong>get_fps</strong></a>(self)</dt><dd><tt>Return&nbsp;frames&nbsp;per&nbsp;second&nbsp;during&nbsp;the&nbsp;previous&nbsp;second.</tt></dd></dl>

<dl><dt><a name="GameClock-get_time"><strong>get_time</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;milliseconds&nbsp;elapsed&nbsp;in&nbsp;the&nbsp;previous&nbsp;call&nbsp;to&nbsp;<a href="#GameClock-tick">tick</a>().</tt></dd></dl>

<dl><dt><a name="GameClock-get_ups"><strong>get_ups</strong></a>(self)</dt><dd><tt>Return&nbsp;updates&nbsp;per&nbsp;second&nbsp;during&nbsp;the&nbsp;previous&nbsp;second.</tt></dd></dl>

<dl><dt><a name="GameClock-schedule"><strong>schedule</strong></a>(self, func, *args, **kwargs)</dt><dd><tt>Schedule&nbsp;an&nbsp;item&nbsp;to&nbsp;be&nbsp;called&nbsp;back&nbsp;each&nbsp;time&nbsp;<a href="#GameClock-tick">tick</a>()&nbsp;is&nbsp;called.</tt></dd></dl>

<dl><dt><a name="GameClock-schedule_frame"><strong>schedule_frame</strong></a>(self, func, *args, **kwargs)</dt><dd><tt>Schedule&nbsp;an&nbsp;item&nbsp;to&nbsp;be&nbsp;called&nbsp;back&nbsp;each&nbsp;time&nbsp;frame_ready&nbsp;is&nbsp;True.</tt></dd></dl>

<dl><dt><a name="GameClock-schedule_frame_priority"><strong>schedule_frame_priority</strong></a>(self, func, pri, *args, **kwargs)</dt><dd><tt>Schedule&nbsp;an&nbsp;item&nbsp;to&nbsp;be&nbsp;called&nbsp;back&nbsp;each&nbsp;time&nbsp;frame_ready&nbsp;is&nbsp;True.<br>
&nbsp;<br>
Items&nbsp;are&nbsp;called&nbsp;in&nbsp;order&nbsp;of&nbsp;priority,&nbsp;low&nbsp;to&nbsp;high.&nbsp;If&nbsp;the&nbsp;clock's<br>
frame_callback&nbsp;is&nbsp;not&nbsp;None,&nbsp;its&nbsp;priority&nbsp;is&nbsp;always&nbsp;0.0.</tt></dd></dl>

<dl><dt><a name="GameClock-schedule_interval"><strong>schedule_interval</strong></a>(self, func, interval, *args, **kwargs)</dt><dd><tt>Schedule&nbsp;an&nbsp;item&nbsp;to&nbsp;be&nbsp;called&nbsp;back&nbsp;each&nbsp;time&nbsp;an&nbsp;interval&nbsp;elapses.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;&nbsp;&nbsp;&nbsp;interval&nbsp;-&gt;&nbsp;The&nbsp;time&nbsp;in&nbsp;seconds&nbsp;(float).</tt></dd></dl>

<dl><dt><a name="GameClock-schedule_update"><strong>schedule_update</strong></a>(self, func, *args, **kwargs)</dt><dd><tt>Schedule&nbsp;an&nbsp;item&nbsp;to&nbsp;be&nbsp;called&nbsp;back&nbsp;each&nbsp;time&nbsp;update_ready&nbsp;is&nbsp;True.</tt></dd></dl>

<dl><dt><a name="GameClock-schedule_update_priority"><strong>schedule_update_priority</strong></a>(self, func, pri, *args, **kwargs)</dt><dd><tt>Schedule&nbsp;an&nbsp;item&nbsp;to&nbsp;be&nbsp;called&nbsp;back&nbsp;each&nbsp;time&nbsp;update_ready&nbsp;is&nbsp;True.<br>
&nbsp;<br>
Items&nbsp;are&nbsp;called&nbsp;in&nbsp;order&nbsp;of&nbsp;priority,&nbsp;low&nbsp;to&nbsp;high.&nbsp;If&nbsp;the&nbsp;clock's<br>
update_callback&nbsp;is&nbsp;not&nbsp;None,&nbsp;its&nbsp;priority&nbsp;is&nbsp;always&nbsp;0.0.</tt></dd></dl>

<dl><dt><a name="GameClock-tick"><strong>tick</strong></a>(self)</dt><dd><tt>Game&nbsp;loop&nbsp;timer.&nbsp;Call&nbsp;once&nbsp;per&nbsp;game&nbsp;loop&nbsp;to&nbsp;calculate&nbsp;runtime&nbsp;values.<br>
After&nbsp;calling,&nbsp;check&nbsp;the&nbsp;update_ready()&nbsp;and&nbsp;frame_ready()&nbsp;methods.<br>
Sleep&nbsp;cycles&nbsp;are&nbsp;injected&nbsp;if&nbsp;use_wait=True.&nbsp;Returns&nbsp;the&nbsp;number&nbsp;of<br>
milliseconds&nbsp;that&nbsp;have&nbsp;elapsed&nbsp;since&nbsp;the&nbsp;last&nbsp;call&nbsp;to&nbsp;<a href="#GameClock-tick">tick</a>().</tt></dd></dl>

<dl><dt><a name="GameClock-unschedule"><strong>unschedule</strong></a>(self, func)</dt><dd><tt>Unschedule&nbsp;a&nbsp;managed&nbsp;function.</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>interpolate</strong></dt>
<dd><tt>Return&nbsp;a&nbsp;float&nbsp;representing&nbsp;the&nbsp;current&nbsp;position&nbsp;in&nbsp;between&nbsp;the<br>
previous&nbsp;gametick&nbsp;and&nbsp;the&nbsp;next&nbsp;one.&nbsp;This&nbsp;allows&nbsp;the&nbsp;main&nbsp;game&nbsp;loop&nbsp;to<br>
make&nbsp;predictive&nbsp;calculations&nbsp;between&nbsp;gameticks.</tt></dd>
</dl>
<dl><dt><strong>max_fps</strong></dt>
<dd><tt>Get&nbsp;or&nbsp;set&nbsp;max_fps.</tt></dd>
</dl>
<dl><dt><strong>max_frame_skip</strong></dt>
<dd><tt>Get&nbsp;or&nbsp;set&nbsp;max_frame_skip.</tt></dd>
</dl>
<dl><dt><strong>ticks_per_second</strong></dt>
<dd><tt>Get&nbsp;or&nbsp;set&nbsp;ticks&nbsp;per&nbsp;second.</tt></dd>
</dl>
<dl><dt><strong>use_wait</strong></dt>
<dd><tt>Get&nbsp;or&nbsp;set&nbsp;use_wait.</tt></dd>
</dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
    
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>__author__</strong> = 'Gummbum, (c) 2011'<br>
<strong>__version__</strong> = '$Id: gameclock.py 294 2011-05-12 03:55:32Z stabbingfinger@gmail.com $'</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#7799ee">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr>
    
<tr><td bgcolor="#7799ee"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Gummbum,&nbsp;(c)&nbsp;2011</td></tr></table>
</body></html>